bf94313d8f1c2363cb4328cd89adfa34674baaea,kmelia/kmelia-war/src/main/java/org/silverpeas/components/kmelia/control/KmeliaSessionController.java,KmeliaSessionController,copyPublication,#String#,2574

Before Change


      PublicationSelection pubSelect = new PublicationSelection(pub);
      addClipboardSelection(pubSelect);
    } else {
      SilverTrace.warn("kmelia", "KmeliaSessionController.copyPublication",
          "Security alert from user " + getUserId() + ", trying to copy publication " + pubId);
      throw new ClipboardException("kmelia", SilverTrace.TRACE_LEVEL_INFO,
          "Security purpose, access to publication is forbidden");
    }

After Change


    return getKmeliaBm().isUserCanWrite(getComponentId(), getUserId());
  }

  public void copyPublication(String pubId) throws ClipboardException {
    PublicationDetail pub = getPublicationDetail(pubId);
    // Can only copy user accessed publication
    PublicationAccessController publicationAccessController =
        ServiceProvider.getService(PublicationAccessController.class);
    if (publicationAccessController.isUserAuthorized(getUserId(), pub.getPK())) {
      PublicationSelection pubSelect = new PublicationSelection(pub);
      addClipboardSelection(pubSelect);
    } else {
      SilverLogger.getLogger(this)
          .warn("Security alert from user {0} trying to copy publication {1}", getUserId(), pubId);
      throw new ClipboardException("kmelia", SilverpeasException.WARNING,
          "Security purpose, access to publication is forbidden");
    }